Classe de conexão com banco de dados PostGreSQL [golfinho/Elefante]
Publicado por Emiliano Eloi Silva Barbosa 04/04/2007
[ Hits: 11.681 ]
Homepage: http://emilianoeloi.com.br
Tradução do script php de leo genilhu:
http://www.vivaolinux.com.br/scripts/verScript.php?codigo=257
Classe de conexão com banco de dados PostGreSQL, com métodos de inserção e atualização de query's.
Ótimo para quem esta iniciando OOP.
class database{ var $db_HOST = ""; var $db_PORT = ""; var $db_USER = ""; var $db_PASS = ""; var $db = ""; var $CONST_ERRO = "erro ao conectar no nosso banco"; var $dbc; var $last_id; function database($db, $user, $pass="nopass",$host="localhost", $port=5432){ $this->db_HOST=$host; $this->db_PORT=$port; $this->db_USER=$user; $this->db_PASS=$pass; $this->db=$db; $this->connect_db(); } function connect_db(){ $connect_string = "host=".$this->db_HOST." port=".$this->db_PORT." user=".$this->db_USER." password=".$this->db_PASS." dbname=".$this->db; $this->dbc = pg_connect($connect_string); return $dbc; } function delete_db($table,$id){ $Campo_id = $this->getPrimaryKey($table); $tmp="delete from $table where $Campo_id='$id'"; $sts = pg_query($this->dbc,$tmp) or die($this->CONST_ERRO . pg_last_error()); return $sts ; } function close_db (){ pg_close($this->dbc); } function insere_db($campos,$valores,$tab){ $inicio="INSERT INTO $tab("; $meio=") VALUES ("; $fim=")"; $valor = sizeof($campos); $strc=""; for($i=0;$i <= ($valor-1);$i++){ $strc.="$campos[$i]"; if($i != ($valor-1)){ $strc.=","; } } $strv=""; for($k=0;$k <= ($valor-1);$k++){ $strv.="'$valores[$k]'"; if($k != ($valor-1)){ $strv.=","; } } $insere="$inicio$strc$meio$strv$fim"; $this->query_db($insere); $this->setLastID($tab); } function query_db($sql){ return pg_query($this->dbc,$sql) or die($this->CONST_ERRO . pg_last_error()); } function reg_db($table){ $tmp="select * from $table"; $sts = pg_query($this->dbc,$tmp) or die($this->CONST_ERRO . pg_last_error()); $num = pg_num_rows($sts); return($num); } function getPrimaryKey($table){ $sql = "select indexdef from pg_indexes where tablename = '$table' and indexname LIKE '%pkey';"; $res = pg_query($this->dbc,$sql) or die($this->CONST_ERRO . pg_last_error()); $resultado = pg_fetch_result($res, 'indexdef'); $arr_temp = explode("(",$resultado); $arr_temp2 = $arr_temp[1]; $arr_temp = explode(")",$arr_temp2); return $arr_temp[0]; } function setLastID($table){ $sequence_name = $table . "_" . $this->getPrimaryKey($table) . "_seq"; $sql = "select currval('$sequence_name') AS lastid"; $res = pg_query($this->dbc,$sql) or die($this->CONST_ERRO . pg_last_error()); $this->last_id = pg_fetch_result($res,'lastid'); } function id_db(){ return $this->last_id; } };
eveQuery2: interação com banco de dados
Classe PHP para acesso a bancos de dados em MySQL
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Driver Realtek RTL8852BE não disponível para Ubuntu 22.04.4 LTS kernel... (4)
Sistema da Coréia do Norte - Red Sar OS (3)
iso de sistema 32 bit em atividade (26)
redirecionando saida de comando touch para o AWK[AJUDA] (15)